home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr48 / vdl020d.zip / VCRT.DOC < prev    next >
Text File  |  1993-04-14  |  45KB  |  2,097 lines

  1. {
  2.  ════════════════════════════════════════════════════════════════════════════
  3.  
  4.  Visionix CRT API to VOut/VIn Unit (VCRT)
  5.  Copyright 1991,92,93 Visionix
  6.  ALL RIGHTS RESERVED
  7.  
  8.  ────────────────────────────────────────────────────────────────────────────
  9.  
  10.  Revision history in reverse chronological order:
  11.  
  12.  Initials  Date      Comment
  13.  ────────  ────────  ────────────────────────────────────────────────────────
  14.  
  15.  mep       03/26/93  Added usage of VBios.
  16.  
  17.  lpg       03/15/93  Added Source Documentation
  18.  
  19.  mep       02/11/93  Cleaned up code for beta release
  20.  
  21.  jrt       02/08/93  Sync with beta 0.12 release
  22.  
  23.  jrt       02/08/93  Added support to automatically determine the
  24.                      screen size by supporting the new VOutGetScreenSize
  25.                      function.
  26.  
  27.  jrt       12/07/92  Sync with beta 0.11 release
  28.  
  29.  jrt       12/07/92  Fixed bug in TextBackGround that would allow
  30.                      "high-intensity" background colors to be set,
  31.                      which in fact would just set the blink attribute on.
  32.                      Only bits 0-1-2 of background color are valid now.
  33.  
  34.  jrt       12/01/92  Yanked VGACharWidthSet, moved it into VFont.
  35.  
  36.  jrt       12/01/92  Yanked console info functions, moved them to
  37.                      Vequip.  Was this a good decision?  Who knows.
  38.  
  39.  jrt       11/21/92  Sync with beta 0.08
  40.  
  41.  jrt       10/26/92  Fixed two bugs:  one fixed "mangling" of the attr
  42.                      setting be making textattr := knowntextattr in the
  43.                      syncattr routine.  The other fixed the improper
  44.                      scrolling of windows when a writeln occured at the
  45.                      bottom of the window.
  46.  
  47.  jrt       09/01/92  First logged revision.
  48.  
  49.  --------------------------------------------------------------------------
  50.  
  51.  Notes:
  52.  
  53.    yank VGAcharwidthset, it is now in VFont.
  54.  
  55.    yank console info obtaining functions, they are now in VEquip.
  56.    As a result, figure out what to do with VCRTGetCaps.
  57.  
  58.  ════════════════════════════════════════════════════════════════════════════
  59. }
  60.  
  61. Unit VCRT;
  62.  
  63.  
  64. Uses
  65.  
  66.   VTypes,
  67.   VIn,
  68.   VOut,
  69.   VBios,
  70.   DOS;
  71.  
  72. {────────────────────────────────────────────────────────────────────────────}
  73.  
  74. Const
  75.  
  76.   {-------------}
  77.   { Video Modes }
  78.   {-------------}
  79.  
  80.   BW40           = 0;
  81.   CO40           = 1;
  82.   C40            = CO40;
  83.   BW80           = 2;
  84.   CO80           = 3;
  85.   C80            = CO80;
  86.   Mono           = 7;
  87.   Font8x8        = 256;
  88.  
  89.   {--------}
  90.   { Colors }
  91.   {--------}
  92.  
  93.   Black          = 0;
  94.   Blue           = 1;
  95.   Green          = 2;
  96.   Cyan           = 3;
  97.   Red            = 4;
  98.   Magenta        = 5;
  99.   Brown          = 6;
  100.   LightGray      = 7;
  101.   DarkGray       = 8;
  102.   LightBlue      = 9;
  103.   LightGreen     = 10;
  104.   LightCyan      = 11;
  105.   LightRed       = 12;
  106.   LightMagenta   = 13;
  107.   Yellow         = 14;
  108.   White          = 15;
  109.   Blink          = 128;
  110.  
  111.   cCardNone      = $00;
  112.   cCardVGA       = $01;
  113.   cCardEGA       = $02;
  114.   cCardMDA       = $03;
  115.   cCardHGC       = $04;
  116.   cCardCGA       = $05;
  117.  
  118.   cMonitorNone       = $00;
  119.   cMonitorMono       = $01;
  120.   cMonitorColor      = $02;
  121.   cMonitorEGAHiRes   = $03;
  122.   cMonitorAnaMono    = $04;
  123.   cMonitorAnaColor   = $05;
  124.  
  125.   MonoMap : Array[0..255] of BYTE= (
  126.  
  127.       {00   01   02   03   04   05   06   07   08   09   0A   0B   0C   0D   0E   0F}
  128.  {00} $00, $01, $07, $07, $07, $07, $07, $07, $07, $07, $07, $07, $07, $07, $0F, $0F,
  129.  {10} $70, $01, $07, $07, $07, $07, $07, $07, $07, $07, $07, $07, $07, $07, $0F, $0F,
  130.  {20} $70, $70, $70, $70, $70, $70, $70, $70, $70, $70, $70, $70, $70, $70, $70, $70,
  131.  {30} $70, $70, $70, $70, $70, $70, $70, $70, $70, $70, $70, $70, $70, $70, $70, $70,
  132.  {40} $70, $70, $70, $70, $70, $70, $70, $70, $70, $70, $70, $70, $70, $70, $70, $70,
  133.  {50} $70, $70, $70, $70, $70, $70, $70, $70, $70, $70, $70, $70, $70, $70, $70, $70,
  134.  {60} $70, $70, $70, $70, $70, $70, $70, $70, $70, $70, $70, $70, $70, $70, $70, $70,
  135.  {70} $70, $70, $70, $70, $70, $70, $70, $70, $70, $70, $70, $70, $70, $70, $70, $70,
  136.  {80} $80, $81, $87, $87, $87, $87, $87, $87, $87, $87, $87, $87, $87, $87, $8F, $8F,
  137.  {90} $F0, $81, $87, $87, $87, $87, $87, $87, $87, $87, $87, $87, $87, $87, $8F, $8F,
  138.  {A0} $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0,
  139.  {B0} $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0,
  140.  {C0} $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0,
  141.  {D0} $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0,
  142.  {E0} $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0,
  143.  {F0} $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0
  144.      );
  145.  
  146. Type
  147.  
  148.   TCRTSystem = RECORD
  149.  
  150.      Card          : BYTE;
  151.      Monitor       : BYTE;
  152.  
  153.   END;
  154.  
  155.   PCRTSystem = ^TCRTSystem;
  156.  
  157.   {----}
  158.  
  159.   TCRTCaps   = RECORD
  160.  
  161.     actdisplay : byte;
  162.     altdisplay : byte;
  163.  
  164.     CRTSystem      : Array[1..2] of TCRTSystem;
  165.  
  166.     CurMode        : BYTE;
  167.  
  168.   END;
  169.  
  170.   PCRTCaps   = ^TCRTCaps;
  171.  
  172. {────────────────────────────────────────────────────────────────────────────}
  173.  
  174. Procedure CRTGetCaps(             Caps           : PCRTCaps  );
  175.  
  176. Function  CRTIsVGA                                             : BOOLEAN;
  177.  
  178. Function  CRTIsMono                                            : BOOLEAN;
  179.  
  180. Procedure CRTVGASetCharWidth(     CWid           : BYTE      );
  181.  
  182. Procedure CRTOutDriverProc(       ODP            : POutDriverPacket );
  183.  
  184. Procedure CRTInDriverProc(        IDP            : PInDriverPacket );
  185.  
  186. Procedure AssignCRT(          Var F              : TEXT      );
  187.  
  188. Procedure ClrEOL;
  189.  
  190. Procedure ClrScr;
  191.  
  192. Procedure Delay(                  MS             : WORD      );
  193.  
  194. Procedure DelLine;
  195.  
  196. Procedure GotoXY(                 X              : BYTE;
  197.                                   Y              : BYTE      );
  198.  
  199. Procedure HighVideo;
  200.  
  201. Procedure InsLine;
  202.  
  203. Function  KeyPressed                                           : BOOLEAN;
  204.  
  205. Procedure LowVideo;
  206.  
  207. Procedure NormVideo;
  208.  
  209. Procedure NoSound;
  210.  
  211. Function  ReadKey                                              : CHAR;
  212.  
  213. Procedure Sound(                  HZ             : WORD      );
  214.  
  215. Procedure TextBackGround(         Color          : BYTE      );
  216.  
  217. Procedure TextColor(              Color          : BYTE      );
  218.  
  219. Procedure TextMode(               Mode           : INTEGER   );
  220.  
  221. Function  WhereX                                               : BYTE;
  222.  
  223. Function  WhereY                                               : BYTE;
  224.  
  225. Procedure Window(                 X1             : BYTE;
  226.                                   Y1             : BYTE;
  227.                                   X2             : BYTE;
  228.                                   Y2             : BYTE      );
  229.  
  230.  
  231. {---------------------}
  232. { VCRT Sync Functions }
  233. {---------------------}
  234.  
  235. Procedure SyncAttr;
  236.  
  237. Procedure SyncWind;
  238.  
  239.  
  240. {-------------------------}
  241. { VCRT Enhanced functions }
  242. {-------------------------}
  243.  
  244. Procedure WindowScreen;
  245.  
  246.  
  247. { Change text attribute }
  248.  
  249. Function  TextColorGet                                         : BYTE;
  250.  
  251. Function  TextBackgroundGet                                    : BYTE;
  252.  
  253. Procedure TextAttrSet(            Attr           : BYTE      );
  254.  
  255.  
  256. { cursor movement commands }
  257.  
  258. Procedure CursorUp(               Count          : BYTE      );
  259.  
  260. Procedure CursorDown(             Count          : BYTE      );
  261.  
  262. Procedure CursorLeft(             Count          : BYTE      );
  263.  
  264. Procedure CursorRight(            Count          : BYTE      );
  265.  
  266.  
  267. { screen store read functions }
  268.  
  269. Function  CharRead(               X1             : BYTE;
  270.                                   Y1             : BYTE      ) : CHAR;
  271.  
  272. Function  AttrRead(               X1             : BYTE;
  273.                                   Y1             : BYTE      ) : BYTE;
  274.  
  275. Procedure AttrWrite(              X1             : BYTE;
  276.                                   Y1             : BYTE;
  277.                                   Attr           : BYTE      );
  278.  
  279.  
  280. { Region Functions }
  281.  
  282. Function  RegionMemQuery(         X1             : BYTE;
  283.                                   Y1             : BYTE;
  284.                                   X2             : BYTE;
  285.                                   Y2             : BYTE      ) : WORD;
  286.  
  287. Procedure RegionScrollUp(         X1             : BYTE;
  288.                                   Y1             : BYTE;
  289.                                   X2             : BYTE;
  290.                                   Y2             : BYTE;
  291.                                   Count          : BYTE      );
  292.  
  293. Procedure RegionScrollDown(       X1             : BYTE;
  294.                                   Y1             : BYTE;
  295.                                   X2             : BYTE;
  296.                                   Y2             : BYTE;
  297.                                   Count          : BYTE      );
  298.  
  299. Procedure RegionRead(             X1             : BYTE;
  300.                                   Y1             : BYTE;
  301.                                   X2             : BYTE;
  302.                                   Y2             : BYTE;
  303.                                   Region         : Pointer   );
  304.  
  305. Procedure RegionWrite(            X1             : BYTE;
  306.                                   Y1             : BYTE;
  307.                                   X2             : BYTE;
  308.                                   Y2             : BYTE;
  309.                                   Region         : Pointer   );
  310.  
  311. Procedure RegionCopy(             X1             : BYTE;
  312.                                   Y1             : BYTE;
  313.                                   X2             : BYTE;
  314.                                   Y2             : BYTE;
  315.                                   ToX1           : BYTE;
  316.                                   ToY1           : BYTE      );
  317.  
  318. Procedure RegionFill(             X1             : BYTE;
  319.                                   Y1             : BYTE;
  320.                                   X2             : BYTE;
  321.                                   Y2             : BYTE;
  322.                                   Ch             : CHAR;
  323.                                   F              : BYTE;
  324.                                   B              : BYTE      );
  325.  
  326. Procedure RegionFillAttr(         X1             : BYTE;
  327.                                   Y1             : BYTE;
  328.                                   X2             : BYTE;
  329.                                   Y2             : BYTE;
  330.                                   F              : BYTE;
  331.                                   B              : BYTE      );
  332.  
  333. Procedure RegionFillChar(         X1             : BYTE;
  334.                                   Y1             : BYTE;
  335.                                   X2             : BYTE;
  336.                                   Y2             : BYTE;
  337.                                   Ch             : CHAR      );
  338.  
  339.  
  340. { RegionFillString??? }
  341.  
  342. Procedure RepeatChar(             Ch             : CHAR;
  343.                                   Num            : WORD      );
  344.  
  345. Procedure RepeatCharAt(           X1             : BYTE;
  346.                                   Y1             : BYTE;
  347.                                   F              : BYTE;
  348.                                   B              : BYTE;
  349.                                   Ch             : CHAR;
  350.                                   Num            : WORD      );
  351.  
  352. Procedure WriteCharAt(                 X1        : BYTE;
  353.                                        Y1        : BYTE;
  354.                                        F         : BYTE;
  355.                                        B         : BYTE;
  356.                                        Ch        : CHAR      );
  357.  
  358. Procedure WriteStringAt(               X1        : BYTE;
  359.                                        Y1        : BYTE;
  360.                                        F         : BYTE;
  361.                                        B         : BYTE;
  362.                                        S         : STRING    );
  363.  
  364.  
  365. Var
  366.  
  367.   CheckBreak      : BOOLEAN; { standard CRT variables ... }
  368.   CheckEOF        : BOOLEAN;
  369.   DirectVideo     : BOOLEAN;
  370.   CheckSnow       : BOOLEAN;
  371.   LastMode        : WORD;
  372.   TextAttr        : BYTE;
  373.  
  374.   Font8x8Selected : BOOLEAN;
  375.  
  376.   WindMin         : WORD;
  377.   WindMax         : WORD;
  378.  
  379.   WindCenterCol   : BYTE;    { center column on the primary display }
  380.   WindCenterRow   : BYTE;    { center row on the primary display    }
  381.  
  382.   ScreenRows      : BYTE;    { number of rows on the primary display }
  383.   ScreenCols      : BYTE;    { number of cols on the primary display }
  384.  
  385.   KnownTextAttr   : BYTE;    { used to do SYNC operations }
  386.   KnownWindMin    : WORD;    { used to do SYNC operations }
  387.   KnownWindMax    : WORD;    { used to do SYNC oeprations }
  388.  
  389.   CrtODNErr       : WORD;    { used by vin/vout }
  390.  
  391.   CrtColorMap     : Array[0..255] of BYTE;  { active TEXTATTR color map }
  392.  
  393. {────────────────────────────────────────────────────────────────────────────}
  394.  
  395.  
  396. ──────────────────────────────────────────────────────────────────────────────
  397.  
  398.  
  399. [FUNCTION]
  400.  
  401. Procedure CRTGetCardAndMonInfo(   C              : PCRTCaps  );
  402.  
  403. [PARAMETERS]
  404.  
  405. C           Pointer to Video Capacity Structure
  406.  
  407. [RETURNS]
  408.  
  409. (Function : None)
  410. (Ptr      : [C] Pointer to Video Capacity Structure)
  411.  
  412. [DESCRIPTION]
  413.  
  414. Determines the Video Capacity and load the data into the structure
  415. pointed to.
  416.  
  417. [SEE-ALSO]
  418.  
  419. [EXAMPLE]
  420.  
  421.  
  422. ──────────────────────────────────────────────────────────────────────────────
  423.  
  424.  
  425. [FUNCTION]
  426.  
  427. Procedure CRTGetCaps(             Caps           : PCRTCaps  );
  428.  
  429. [PARAMETERS]
  430.  
  431. Caps        Pointer to Video Capacity Structure
  432.  
  433. [RETURNS]
  434.  
  435. (Function : None)
  436. (Ptr      : [Caps] Pointer to Video Capacity Structure)
  437.  
  438. [DESCRIPTION]
  439.  
  440. Determines the Video Capacity and load the data into the structure
  441. pointed to.
  442.  
  443. Gets the CRT units capabilities in the current environment.
  444.  
  445. [SEE-ALSO]
  446.  
  447. [EXAMPLE]
  448.  
  449.  
  450. ──────────────────────────────────────────────────────────────────────────────
  451.  
  452.  
  453. [FUNCTION]
  454.  
  455. Function CRTIsVGA                                              : BOOLEAN;
  456.  
  457. [PARAMETERS]
  458.  
  459. (None)
  460.  
  461. [RETURNS]
  462.  
  463. Whether the Video is VGA
  464.  
  465. [DESCRIPTION]
  466.  
  467. Tests the Current Video Card and determines whether the Video is
  468. VGA.
  469.  
  470. Returns TRUE if the primary display console is a VGA display.
  471.  
  472. [SEE-ALSO]
  473.  
  474. [EXAMPLE]
  475.  
  476.  
  477. ──────────────────────────────────────────────────────────────────────────────
  478.  
  479.  
  480. [FUNCTION]
  481.  
  482. Function CRTIsMono                                             : BOOLEAN;
  483.  
  484. [PARAMETERS]
  485.  
  486. (None)
  487.  
  488. [RETURNS]
  489.  
  490. Whether the Video is MonoChrome or not.
  491.  
  492. [DESCRIPTION]
  493.  
  494. Tests the Current Video Card and determines whether the Video is
  495. MonoChrome or Color.
  496.  
  497. Returns TRUE if the primary display console is a MONOCHROM display.
  498.  
  499. [SEE-ALSO]
  500.  
  501. [EXAMPLE]
  502.  
  503.  
  504. ──────────────────────────────────────────────────────────────────────────────
  505.  
  506.  
  507. [FUNCTION]
  508.  
  509. Procedure CRTOutDriverProc(       ODP            : POutDriverPacket );
  510.  
  511. [PARAMETERS]
  512.  
  513. ODP         Pointer to Output Driver Packet
  514.  
  515. [RETURNS]
  516.  
  517. (None)
  518.  
  519. [DESCRIPTION]
  520.  
  521. This is THE CRT Output-Driver Procedure.  It handles all the Output
  522. CRT Related Functions.
  523.  
  524. This is the out driver procedure which is placed on the CRT out-channel.
  525. It takes VOUT driver requests and performs them on the active primary
  526. display.
  527.  
  528. See VOUT for more information
  529.  
  530. [SEE-ALSO]
  531.  
  532. [EXAMPLE]
  533.  
  534.  
  535. ──────────────────────────────────────────────────────────────────────────────
  536.  
  537.  
  538. [FUNCTION]
  539.  
  540. Procedure RegionRead(             X1,Y1,X2,Y2    : WORD;
  541.                                   Region         : PScreenStore );
  542.  
  543. [PARAMETERS]
  544.  
  545. X1          Source Left Screen Region Coordinate
  546. Y1          Source Top Screen Region Coordinate
  547. X2          Source Right Region Screen Region Coordinate
  548. Y2          Source Bottom Screen Region Coordinate
  549. Region      Pointer to Region Read Data
  550.  
  551. [RETURNS]
  552.  
  553. (None)
  554.  
  555. [DESCRIPTION]
  556.  
  557. Reads a region from the display console to a region store buffer.
  558. "Region" should be a pointer to a buffer which is big enough to hold
  559. the region data.  Use RegionMemQuery to determine how many bytes must
  560. be allocated.
  561.  
  562. [SEE-ALSO]
  563.  
  564. [EXAMPLE]
  565.  
  566.  
  567. ──────────────────────────────────────────────────────────────────────────────
  568.  
  569.  
  570. [FUNCTION]
  571.  
  572. Procedure RegionWrite(            X1,Y1,X2,Y2    : WORD;
  573.                                   Region         : PScreenStore );
  574.  
  575. [PARAMETERS]
  576.  
  577. X1          Left Screen Region Coordinate
  578. Y1          Top Screen Region Coordinate
  579. X2          Right Region Screen Region Coordinate
  580. Y2          Bottom Screen Region Coordinate
  581. Region      Pointer to Region Write Data
  582.  
  583. [RETURNS]
  584.  
  585. (None)
  586.  
  587. [DESCRIPTION]
  588.  
  589. [SEE-ALSO]
  590.  
  591. [EXAMPLE]
  592.  
  593.  
  594. ──────────────────────────────────────────────────────────────────────────────
  595.  
  596.  
  597. [FUNCTION]
  598.  
  599. Procedure CRTVGASetCharWidth(     CWid           : BYTE      );
  600.  
  601. [PARAMETERS]
  602.  
  603. CWid        Desired New Character Width
  604.  
  605. [RETURNS]
  606.  
  607. (None)
  608.  
  609. [DESCRIPTION]
  610.  
  611. Sets the VGA Character Width to a given pixel Width.
  612.  
  613. Sets the text mode character width of a vga display.  normally,
  614. a character in vga mode is 9 pixels wide.  However, the font
  615. tables only have 8 chars per pixel.  This is a problem when
  616. characters need to "touch" each other.
  617.  
  618. [SEE-ALSO]
  619.  
  620. [EXAMPLE]
  621.  
  622.  
  623. ──────────────────────────────────────────────────────────────────────────────
  624.  
  625.  
  626. [FUNCTION]
  627.  
  628. Procedure CRTInDriverProc(        IDP            : PInDriverPacket );
  629.  
  630. [PARAMETERS]
  631.  
  632. IDP         Pointer To In-Data Driver Packet
  633.  
  634. [RETURNS]
  635.  
  636. (None)
  637.  
  638. [DESCRIPTION]
  639.  
  640. This is THE Input CRT Driver Procedure.  It handles all the Input
  641. CRT Related Functions.
  642.  
  643. This is the in  driver procedure which is placed on the
  644. CRT    in-channel
  645. it takes VIN driver requests and performs them on the
  646. keyboard
  647.  
  648. See VIN for more information
  649.  
  650. [SEE-ALSO]
  651.  
  652. [EXAMPLE]
  653.  
  654.  
  655. ──────────────────────────────────────────────────────────────────────────────
  656.  
  657.  
  658. [FUNCTION]
  659.  
  660. Procedure SyncAttr;
  661.  
  662. [PARAMETERS]
  663.  
  664. (None)
  665.  
  666. [RETURNS]
  667.  
  668. (None)
  669.  
  670. [DESCRIPTION]
  671.  
  672. Syncs the CRT out-channel with the current TextAttr setting should only
  673. need to be done when it is beleived that a driver on the CRT out-channel
  674. is "lost", and this should only happen when serial-port out-channel
  675. drivers are put on the crt out-channel
  676.  
  677. [SEE-ALSO]
  678.  
  679. [EXAMPLE]
  680.  
  681.  
  682. ──────────────────────────────────────────────────────────────────────────────
  683.  
  684.  
  685. [FUNCTION]
  686.  
  687. Procedure SyncWind;
  688.  
  689. [PARAMETERS]
  690.  
  691. (None)
  692.  
  693. [RETURNS]
  694.  
  695. (None)
  696.  
  697. [DESCRIPTION]
  698.  
  699. Syncs the CRT out-channel with the current window setting should only
  700. need to be done when it is beleived that a driver on the CRT out-channel
  701. is "lost", and this should only happen when serial-port out-channel
  702. drivers are put on the crt out-channel
  703.  
  704. [SEE-ALSO]
  705.  
  706. [EXAMPLE]
  707.  
  708.  
  709. ──────────────────────────────────────────────────────────────────────────────
  710.  
  711.  
  712. [FUNCTION]
  713.  
  714. Function CRTTextNullProc(     Var F              : TextRec   ) : INTEGER; Far;
  715.  
  716. [PARAMETERS]
  717.  
  718. F           VAR Text File Record (?)
  719.  
  720. [RETURNS]
  721.  
  722. [DESCRIPTION]
  723.  
  724. [SEE-ALSO]
  725.  
  726. [EXAMPLE]
  727.  
  728.  
  729. ──────────────────────────────────────────────────────────────────────────────
  730.  
  731.  
  732. [FUNCTION]
  733.  
  734. Function CRTTextOutProc(      Var F              : TextRec   ) : INTEGER; Far;
  735.  
  736. [PARAMETERS]
  737.  
  738. F           VAR ?
  739.  
  740. [RETURNS]
  741.  
  742. [DESCRIPTION]
  743.  
  744. [SEE-ALSO]
  745.  
  746. [EXAMPLE]
  747.  
  748.  
  749. ──────────────────────────────────────────────────────────────────────────────
  750.  
  751.  
  752. [FUNCTION]
  753.  
  754. Function CRTTextInProc(       Var F              : TextRec ) : INTEGER; Far;
  755.  
  756. [PARAMETERS]
  757.  
  758. F           VAR Handle to File Text Record
  759.  
  760. [RETURNS]
  761.  
  762. [DESCRIPTION]
  763.  
  764. [SEE-ALSO]
  765.  
  766. [EXAMPLE]
  767.  
  768.  
  769. ──────────────────────────────────────────────────────────────────────────────
  770.  
  771.  
  772. [FUNCTION]
  773.  
  774. Function CRTTextOpenProc(     Var F              : TextRec   ) : INTEGER; Far;
  775.  
  776. [PARAMETERS]
  777.  
  778. F           VAR ?
  779.  
  780. [RETURNS]
  781.  
  782. [DESCRIPTION]
  783.  
  784. [SEE-ALSO]
  785.  
  786. [EXAMPLE]
  787.  
  788.  
  789. ──────────────────────────────────────────────────────────────────────────────
  790.  
  791.  
  792. [FUNCTION]
  793.  
  794. Procedure AssignCRT(          Var F              : Text      );
  795.  
  796. [PARAMETERS]
  797.  
  798. F           VAR Output File Handle (The Screen)
  799.  
  800. [RETURNS]
  801.  
  802. (None)
  803.  
  804. [DESCRIPTION]
  805.  
  806. Assigns a text-file to the CRT.
  807.  
  808. [SEE-ALSO]
  809.  
  810. [EXAMPLE]
  811.  
  812.  
  813. ──────────────────────────────────────────────────────────────────────────────
  814.  
  815.  
  816. [FUNCTION]
  817.  
  818. Procedure ClrEOL;
  819.  
  820. [PARAMETERS]
  821.  
  822. (None)
  823.  
  824. [RETURNS]
  825.  
  826. (None)
  827.  
  828. [DESCRIPTION]
  829.  
  830. Clears a Line using the Current Color Attributes from the current
  831. Cursor Position to the End of the Screen.  If we are within a Window,
  832. then the action is restricted to within this Window.
  833.  
  834. Clears to the end of the line from the current cursor position.
  835.  
  836. [SEE-ALSO]
  837.  
  838. [EXAMPLE]
  839.  
  840.  
  841. ──────────────────────────────────────────────────────────────────────────────
  842.  
  843.  
  844. [FUNCTION]
  845.  
  846. Procedure ClrScr;
  847.  
  848. [PARAMETERS]
  849.  
  850. (None)
  851.  
  852. [RETURNS]
  853.  
  854. (None)
  855.  
  856. [DESCRIPTION]
  857.  
  858. Clears the Screen by filling it with Spaces using the current color
  859. attributes.  If we are within a Window then the Clear Screen is
  860. restricted to just within this Window.
  861.  
  862. Clears the screen or the active window.
  863.  
  864. [SEE-ALSO]
  865.  
  866. [EXAMPLE]
  867.  
  868.  
  869. ──────────────────────────────────────────────────────────────────────────────
  870.  
  871.  
  872. [FUNCTION]
  873.  
  874. Procedure DelayOneMS;
  875.  
  876. [PARAMETERS]
  877.  
  878. (None)
  879.  
  880. [RETURNS]
  881.  
  882. (None)
  883.  
  884. [DESCRIPTION]
  885.  
  886. Delays activity for a Single Millisecond, then resumes.
  887. [SEE-ALSO]
  888.  
  889. [EXAMPLE]
  890.  
  891.  
  892. ──────────────────────────────────────────────────────────────────────────────
  893.  
  894.  
  895. [FUNCTION]
  896.  
  897. Procedure Delay(                  MS             : WORD      );
  898.  
  899. [PARAMETERS]
  900.  
  901. MS          Number of Milliseconds Delay
  902.  
  903. [RETURNS]
  904.  
  905. (None)
  906.  
  907. [DESCRIPTION]
  908.  
  909. Delays activity for a given number of Milliseconds, then Resumes.
  910.  
  911. Delays for the specified number of milliseconds.
  912.  
  913. [SEE-ALSO]
  914.  
  915. [EXAMPLE]
  916.  
  917.  
  918. ──────────────────────────────────────────────────────────────────────────────
  919.  
  920.  
  921. [FUNCTION]
  922.  
  923. Procedure FindDelay;
  924.  
  925. [PARAMETERS]
  926.  
  927. (None)
  928.  
  929. [RETURNS]
  930.  
  931. (None)
  932.  
  933. [DESCRIPTION]
  934.  
  935. Determines the proper Time Delay Rate for this computer based upon how
  936. long it takes to execute a given delay.
  937.  
  938. [SEE-ALSO]
  939.  
  940. [EXAMPLE]
  941.  
  942.  
  943. ──────────────────────────────────────────────────────────────────────────────
  944.  
  945.  
  946. [FUNCTION]
  947.  
  948. Procedure DelLine;
  949.  
  950. [PARAMETERS]
  951.  
  952. (None)
  953.  
  954. [RETURNS]
  955.  
  956. (None)
  957.  
  958. [DESCRIPTION]
  959.  
  960. Deletes a Line at the Current Cursor Position.  If we are in a Window,
  961. then the Deleted Line is just within this window.
  962.  
  963. Deletes the line that the cursor is currently on.  All lines
  964. in the active window below the cursor will scroll up.
  965.  
  966. [SEE-ALSO]
  967.  
  968. [EXAMPLE]
  969.  
  970.  
  971. ──────────────────────────────────────────────────────────────────────────────
  972.  
  973.  
  974. [FUNCTION]
  975.  
  976. Procedure GotoXY(                       X       : BYTE;
  977.                                         Y       : BYTE           );
  978.  
  979. [PARAMETERS]
  980.  
  981. X           X Screen Coordinate
  982. Y           Y Screen Coordinate
  983.  
  984. [RETURNS]
  985.  
  986. (None)
  987.  
  988. [DESCRIPTION]
  989.  
  990. Moves the Cursor to the provided Screen Coordinates (Relative to any
  991. active Window.
  992.  
  993. Hey, look.  Check out the normal CRT unit info for the rest
  994. of these.  We'll fill them in soon.
  995. We'll continue the comments with the other functions below
  996. that are extensions to the normal CRT API.
  997.  
  998. [SEE-ALSO]
  999.  
  1000. [EXAMPLE]
  1001.  
  1002.  
  1003. ──────────────────────────────────────────────────────────────────────────────
  1004.  
  1005.  
  1006. [FUNCTION]
  1007.  
  1008. Procedure HighVideo;
  1009.  
  1010. [PARAMETERS]
  1011.  
  1012. (None)
  1013.  
  1014. [RETURNS]
  1015.  
  1016. (None)
  1017.  
  1018. [DESCRIPTION]
  1019.  
  1020. Sets the Vidio Intensity output to it's Highest Level.
  1021.  
  1022. [SEE-ALSO]
  1023.  
  1024. [EXAMPLE]
  1025.  
  1026.  
  1027. ──────────────────────────────────────────────────────────────────────────────
  1028.  
  1029.  
  1030. [FUNCTION]
  1031.  
  1032. Procedure InsLine;
  1033.  
  1034. [PARAMETERS]
  1035.  
  1036. (None)
  1037.  
  1038. [RETURNS]
  1039.  
  1040. (None)
  1041.  
  1042. [DESCRIPTION]
  1043.  
  1044. Inserts a Blank Line of the current Color Attributes at the Current
  1045. Cursor Position.  It we are in a Window, then the inserted Line is
  1046. just within this Window.
  1047.  
  1048. [SEE-ALSO]
  1049.  
  1050. [EXAMPLE]
  1051.  
  1052.  
  1053. ──────────────────────────────────────────────────────────────────────────────
  1054.  
  1055.  
  1056. [FUNCTION]
  1057.  
  1058. Function KeyPressed                                            : BOOLEAN;
  1059.  
  1060. [PARAMETERS]
  1061.  
  1062. (None)
  1063.  
  1064. [RETURNS]
  1065.  
  1066. Whether the Keyboard has been press since the last it was Read
  1067.  
  1068. [DESCRIPTION]
  1069.  
  1070. Determines if a Character is in the Keyboard Buffer and if so,
  1071. reports that ther is (TRUE).  If there isn't then the report
  1072. isn't (FALSE).
  1073.  
  1074. [SEE-ALSO]
  1075.  
  1076. [EXAMPLE]
  1077.  
  1078.  
  1079. ──────────────────────────────────────────────────────────────────────────────
  1080.  
  1081.  
  1082. [FUNCTION]
  1083.  
  1084. Procedure LowVideo;
  1085.  
  1086. [PARAMETERS]
  1087.  
  1088. (None)
  1089.  
  1090. [RETURNS]
  1091.  
  1092. (None)
  1093.  
  1094. [DESCRIPTION]
  1095.  
  1096. Sets the Vidio Intensity output to it's Lowest Level.
  1097.  
  1098. [SEE-ALSO]
  1099.  
  1100. [EXAMPLE]
  1101.  
  1102.  
  1103. ──────────────────────────────────────────────────────────────────────────────
  1104.  
  1105.  
  1106. [FUNCTION]
  1107.  
  1108. Procedure NormVideo;
  1109.  
  1110. [PARAMETERS]
  1111.  
  1112. (None)
  1113.  
  1114. [RETURNS]
  1115.  
  1116. (None)
  1117.  
  1118. [DESCRIPTION]
  1119.  
  1120. Resets the Video Intensity output to the Normal Level.
  1121.  
  1122. [SEE-ALSO]
  1123.  
  1124. [EXAMPLE]
  1125.  
  1126.  
  1127. ──────────────────────────────────────────────────────────────────────────────
  1128.  
  1129.  
  1130. [FUNCTION]
  1131.  
  1132. Procedure NoSound;
  1133.  
  1134. [PARAMETERS]
  1135.  
  1136. (None)
  1137.  
  1138. [RETURNS]
  1139.  
  1140. (None)
  1141.  
  1142. [DESCRIPTION]
  1143.  
  1144. Turns off any audio output from the Speaker.
  1145.  
  1146. [SEE-ALSO]
  1147.  
  1148. [EXAMPLE]
  1149.  
  1150.  
  1151. ──────────────────────────────────────────────────────────────────────────────
  1152.  
  1153.  
  1154. [FUNCTION]
  1155.  
  1156. Function  ReadKey                                              : CHAR;
  1157.  
  1158. [PARAMETERS]
  1159.  
  1160. (None)
  1161.  
  1162. [RETURNS]
  1163.  
  1164. 1st available Character Read from the Keyboard
  1165.  
  1166. [DESCRIPTION]
  1167.  
  1168. Reads a Key from the keyboard and returns the 1st Character Read.
  1169.  
  1170. [SEE-ALSO]
  1171.  
  1172. [EXAMPLE]
  1173.  
  1174.  
  1175. ──────────────────────────────────────────────────────────────────────────────
  1176.  
  1177.  
  1178. [FUNCTION]
  1179.  
  1180. Procedure Sound(                  Hz             : WORD      );
  1181.  
  1182. [PARAMETERS]
  1183.  
  1184. Hz          Desired Audio Frequency in Hertz
  1185.  
  1186. [RETURNS]
  1187.  
  1188. (None)
  1189.  
  1190. [DESCRIPTION]
  1191.  
  1192. Outputs a sound thru the speaker at the provided Frequency.
  1193.  
  1194. [SEE-ALSO]
  1195.  
  1196. [EXAMPLE]
  1197.  
  1198.  
  1199. ──────────────────────────────────────────────────────────────────────────────
  1200.  
  1201.  
  1202. [FUNCTION]
  1203.  
  1204. Procedure TextBackGround(         Color          : BYTE      );
  1205.  
  1206. [PARAMETERS]
  1207.  
  1208. Color       New Text Background Color
  1209.  
  1210. [RETURNS]
  1211.  
  1212. (None)
  1213.  
  1214. [DESCRIPTION]
  1215.  
  1216. Sets the New Active Text Background Color
  1217.  
  1218. [SEE-ALSO]
  1219.  
  1220. [EXAMPLE]
  1221.  
  1222.  
  1223. ──────────────────────────────────────────────────────────────────────────────
  1224.  
  1225.  
  1226. [FUNCTION]
  1227.  
  1228. Procedure TextColor(              Color          : BYTE      );
  1229.  
  1230. [PARAMETERS]
  1231.  
  1232. Color       New Text Foreground Color
  1233.  
  1234. [RETURNS]
  1235.  
  1236. (None)
  1237.  
  1238. [DESCRIPTION]
  1239.  
  1240. Sets the New Active Text Foreground Color
  1241.  
  1242. [SEE-ALSO]
  1243.  
  1244. [EXAMPLE]
  1245.  
  1246.  
  1247. ──────────────────────────────────────────────────────────────────────────────
  1248.  
  1249.  
  1250. [FUNCTION]
  1251.  
  1252. Procedure TextMode(               Mode           : INTEGER   );
  1253.  
  1254. [PARAMETERS]
  1255.  
  1256. Mode        Desired CRT Vidio Mode
  1257.  
  1258. [RETURNS]
  1259.  
  1260. (None)
  1261.  
  1262. [DESCRIPTION]
  1263.  
  1264. [SEE-ALSO]
  1265.  
  1266. [EXAMPLE]
  1267.  
  1268.  
  1269. ──────────────────────────────────────────────────────────────────────────────
  1270.  
  1271.  
  1272. [FUNCTION]
  1273.  
  1274. Function  WhereX                                               : BYTE;
  1275.  
  1276. [PARAMETERS]
  1277.  
  1278. (None)
  1279.  
  1280. [RETURNS]
  1281.  
  1282. The Current X Cursor Position
  1283.  
  1284. [DESCRIPTION]
  1285.  
  1286. Determines and returns the Current X Cursor Screen Coordinates.
  1287.  
  1288. [SEE-ALSO]
  1289.  
  1290. [EXAMPLE]
  1291.  
  1292.  
  1293. ──────────────────────────────────────────────────────────────────────────────
  1294.  
  1295.  
  1296. [FUNCTION]
  1297.  
  1298. Function  WhereY                                              : BYTE;
  1299.  
  1300. [PARAMETERS]
  1301.  
  1302. (None)
  1303.  
  1304. [RETURNS]
  1305.  
  1306. The Current Y Cursor Position
  1307.  
  1308. [DESCRIPTION]
  1309.  
  1310. Determines and returns the Current Y Cursor Screen Coordinates.
  1311.  
  1312. [SEE-ALSO]
  1313.  
  1314. [EXAMPLE]
  1315.  
  1316.  
  1317. ──────────────────────────────────────────────────────────────────────────────
  1318.  
  1319.  
  1320. [FUNCTION]
  1321.  
  1322. Procedure Window(                 X1             : BYTE;
  1323.                                   Y1             : BYTE;
  1324.                                   X2             : BYTE;
  1325.                                   Y2             : BYTE      );
  1326.  
  1327. [PARAMETERS]
  1328.  
  1329. X1          Left Window Coordinate
  1330. Y1          Top Window Coordinate
  1331. X2          Right Window Coordinate
  1332. Y2          Bottom Window Coordinate
  1333.  
  1334. [RETURNS]
  1335.  
  1336. (None)
  1337.  
  1338. [DESCRIPTION]
  1339.  
  1340. Establishes a Window with the provided Coordinates.
  1341.  
  1342. [SEE-ALSO]
  1343.  
  1344. [EXAMPLE]
  1345.  
  1346.  
  1347. ──────────────────────────────────────────────────────────────────────────────
  1348.  
  1349.  
  1350. [FUNCTION]
  1351.  
  1352. Procedure WindowScreen;
  1353.  
  1354. [PARAMETERS]
  1355.  
  1356. (None)
  1357.  
  1358. [RETURNS]
  1359.  
  1360. (None)
  1361.  
  1362. [DESCRIPTION]
  1363.  
  1364. Restores the Window Size as that of the Entire Screen.
  1365.  
  1366. Sets the active window size to be the entire screen.
  1367.  
  1368. [SEE-ALSO]
  1369.  
  1370. [EXAMPLE]
  1371.  
  1372.  
  1373. ──────────────────────────────────────────────────────────────────────────────
  1374.  
  1375.  
  1376. [FUNCTION]
  1377.  
  1378. Function TextColorGet                                          : BYTE;
  1379.  
  1380. [PARAMETERS]
  1381.  
  1382. (None)
  1383.  
  1384. [RETURNS]
  1385.  
  1386. The Current Foreground Attribute Color
  1387.  
  1388. [DESCRIPTION]
  1389.  
  1390. Returns the Current Foreground Color from the CRT Attribute Value.
  1391.  
  1392. Gets the current text color.  IT IS PREFERED TO USE THIS
  1393. INSTEAD OF JUST LOOKING AT THE TEXTATTR VARIABLE.
  1394.  
  1395. [SEE-ALSO]
  1396.  
  1397. [EXAMPLE]
  1398.  
  1399.  
  1400. ──────────────────────────────────────────────────────────────────────────────
  1401.  
  1402.  
  1403. [FUNCTION]
  1404.  
  1405. Function TextBackgroundGet                                     : BYTE;
  1406.  
  1407. [PARAMETERS]
  1408.  
  1409. (None)
  1410.  
  1411. [RETURNS]
  1412.  
  1413. The Current Background Attribute Color
  1414.  
  1415. [DESCRIPTION]
  1416.  
  1417. Returns the Current Background Color from the CRT Attribute
  1418. Value.
  1419.  
  1420. Gets the current text background. see note on TextColorGet.
  1421.  
  1422. [SEE-ALSO]
  1423.  
  1424. [EXAMPLE]
  1425.  
  1426.  
  1427. ──────────────────────────────────────────────────────────────────────────────
  1428.  
  1429.  
  1430. [FUNCTION]
  1431.  
  1432. Procedure TextAttrSet(            Attr           : BYTE      );
  1433.  
  1434. [PARAMETERS]
  1435.  
  1436. Attr        New Attribute
  1437.  
  1438. [RETURNS]
  1439.  
  1440. (None)
  1441.  
  1442. [DESCRIPTION]
  1443.  
  1444. Sets the Current CRT Attribute to the Attribute Provided.
  1445.  
  1446. Sets the current TextAttr.  IT IS PREFERED THAT ONE USE THIS
  1447. INSTEAD OF DIRECTLY CHANGING THE TEXTATTR VARIABLE.
  1448.  
  1449. [SEE-ALSO]
  1450.  
  1451. [EXAMPLE]
  1452.  
  1453.  
  1454. ──────────────────────────────────────────────────────────────────────────────
  1455.  
  1456.  
  1457. [FUNCTION]
  1458.  
  1459. Procedure CursorUp(               Count          : BYTE      );
  1460.  
  1461. [PARAMETERS]
  1462.  
  1463. Count       Number of Lines to Move Up
  1464.  
  1465. [RETURNS]
  1466.  
  1467. (None)
  1468.  
  1469. [DESCRIPTION]
  1470.  
  1471. Moves the Cursor Up by a given number of Lines.
  1472.  
  1473. [SEE-ALSO]
  1474.  
  1475. [EXAMPLE]
  1476.  
  1477.  
  1478. ──────────────────────────────────────────────────────────────────────────────
  1479.  
  1480.  
  1481. [FUNCTION]
  1482.  
  1483. Procedure CursorDown(             Count          : BYTE      );
  1484.  
  1485. [PARAMETERS]
  1486.  
  1487. Count       Number of Lines to Move Down
  1488.  
  1489. [RETURNS]
  1490.  
  1491. (None)
  1492.  
  1493. [DESCRIPTION]
  1494.  
  1495. Moves the Cursor Down by a given number of Lines.
  1496.  
  1497. [SEE-ALSO]
  1498.  
  1499. [EXAMPLE]
  1500.  
  1501.  
  1502. ──────────────────────────────────────────────────────────────────────────────
  1503.  
  1504.  
  1505. [FUNCTION]
  1506.  
  1507. Procedure CursorLeft(             Count          : BYTE      );
  1508.  
  1509. [PARAMETERS]
  1510.  
  1511. Count       Number of Places to Space Left
  1512.  
  1513. [RETURNS]
  1514.  
  1515. (None)
  1516.  
  1517. [DESCRIPTION]
  1518.  
  1519. Moves the Cursor Left by a given number of Places.
  1520.  
  1521. [SEE-ALSO]
  1522.  
  1523. [EXAMPLE]
  1524.  
  1525.  
  1526. ──────────────────────────────────────────────────────────────────────────────
  1527.  
  1528.  
  1529. [FUNCTION]
  1530.  
  1531. Procedure CursorRight(            Count          : BYTE      );
  1532.  
  1533. [PARAMETERS]
  1534.  
  1535. Count       Number of Places to Spaces Right
  1536.  
  1537. [RETURNS]
  1538.  
  1539. (None)
  1540.  
  1541. [DESCRIPTION]
  1542.  
  1543. Moves the Cursor Right by a given number of Places.
  1544.  
  1545. [SEE-ALSO]
  1546.  
  1547. [EXAMPLE]
  1548.  
  1549.  
  1550. ──────────────────────────────────────────────────────────────────────────────
  1551.  
  1552.  
  1553. [FUNCTION]
  1554.  
  1555. Function CharRead(                X1             : BYTE;
  1556.                                   Y1             : BYTE      ) : CHAR;
  1557.  
  1558. [PARAMETERS]
  1559.  
  1560. X1          X Screen Coordinate
  1561. Y1          Y Screen Coordinate
  1562.  
  1563. [RETURNS]
  1564.  
  1565. Character Read from the Screen Coordinates
  1566.  
  1567. [DESCRIPTION]
  1568.  
  1569. Reads a Character from the Screen at the provided Coordinates.
  1570.  
  1571. Reads a character from the display console.  returns whatever
  1572. character is on the screen at the specified location.
  1573.  
  1574. [SEE-ALSO]
  1575.  
  1576. [EXAMPLE]
  1577.  
  1578.  
  1579. ──────────────────────────────────────────────────────────────────────────────
  1580.  
  1581.  
  1582. [FUNCTION]
  1583.  
  1584. Function AttrRead(                X1             : BYTE;
  1585.                                   Y1             : BYTE      ) : BYTE;
  1586.  
  1587. [PARAMETERS]
  1588.  
  1589. X1          X Screen Coordinate
  1590. Y1          Y Screen Coordinate
  1591.  
  1592. [RETURNS]
  1593.  
  1594. Attribute Read from the Screen Coordinates
  1595.  
  1596. [DESCRIPTION]
  1597.  
  1598. Reads an Attribute from the Screen at the provided Coordinates.
  1599.  
  1600. Reads a attribute from the display console.  returns whatever
  1601. attribute is on the screen at the specified location.
  1602.  
  1603. [SEE-ALSO]
  1604.  
  1605. [EXAMPLE]
  1606.  
  1607.  
  1608. ──────────────────────────────────────────────────────────────────────────────
  1609.  
  1610.  
  1611. [FUNCTION]
  1612.  
  1613. Procedure AttrWrite(              X1             : BYTE;
  1614.                                   Y1             : BYTE;
  1615.                                   Attr           : BYTE      );
  1616.  
  1617. [PARAMETERS]
  1618.  
  1619. X1          X Screen Coordinate
  1620. Y1          Y Screen Coordinate
  1621. Attr        Attribute to Write
  1622.  
  1623. [RETURNS]
  1624.  
  1625. (None)
  1626.  
  1627. [DESCRIPTION]
  1628.  
  1629. Writes a given Attribute at a provided Screen Coordinate.
  1630.  
  1631. Writes an attribute to the display console.
  1632.  
  1633. [SEE-ALSO]
  1634.  
  1635. [EXAMPLE]
  1636.  
  1637.  
  1638. ──────────────────────────────────────────────────────────────────────────────
  1639.  
  1640.  
  1641. [FUNCTION]
  1642.  
  1643. Function  RegionMemQuery(         X1             : BYTE;
  1644.                                   Y1             : BYTE;
  1645.                                   X2             : BYTE;
  1646.                                   Y2             : BYTE      ) : WORD;
  1647.  
  1648. [PARAMETERS]
  1649.  
  1650. X1          Left Region Coordinate
  1651. Y1          Top Region Coordinate
  1652. X2          Right Region Coordinate
  1653. Y2          Bottom Region Coordinate
  1654.  
  1655. [RETURNS]
  1656.  
  1657. Number of Bytes of Memory required to Store Region
  1658.  
  1659. [DESCRIPTION]
  1660.  
  1661. Calculates and returns the number of bytes required to store a
  1662. given Region.
  1663.  
  1664. Returns how many bytes of memory need to be allocated to store
  1665. the specified region of the display console.
  1666.  
  1667. [SEE-ALSO]
  1668.  
  1669. [EXAMPLE]
  1670.  
  1671.  
  1672. ──────────────────────────────────────────────────────────────────────────────
  1673.  
  1674.  
  1675. [FUNCTION]
  1676.  
  1677. Procedure RegionScrollUp(         X1             : BYTE;
  1678.                                   Y1             : BYTE;
  1679.                                   X2             : BYTE;
  1680.                                   Y2             : BYTE;
  1681.                                   Count          : BYTE      );
  1682.  
  1683. [PARAMETERS]
  1684.  
  1685. X1          Left Screen Region Coordinate
  1686. Y1          Top Screen Region Coordinate
  1687. X2          Right Screen Region Coordinate
  1688. Y2          Bottom Screen Region Coordinate
  1689. Count       Number of Lines to Scroll
  1690.  
  1691. [RETURNS]
  1692.  
  1693. (None)
  1694.  
  1695. [DESCRIPTION]
  1696.  
  1697. Scrolls the Designated Screen Region Up by a given number of Lines.
  1698.  
  1699. Returns how many bytes of memory need to be allocated to store
  1700. the specified region of the display console.
  1701.  
  1702. [SEE-ALSO]
  1703.  
  1704. [EXAMPLE]
  1705.  
  1706.  
  1707. ──────────────────────────────────────────────────────────────────────────────
  1708.  
  1709.  
  1710. [FUNCTION]
  1711.  
  1712. Procedure RegionScrollDown(       X1             : BYTE;
  1713.                                   Y1             : BYTE;
  1714.                                   X2             : BYTE;
  1715.                                   Y2             : BYTE;
  1716.                                   Count          : BYTE      );
  1717.  
  1718. [PARAMETERS]
  1719.  
  1720. X1          Left Screen Region Coordinate
  1721. Y1          Top Screen Region Coordinate
  1722. X2          Right Screen Region Coordinate
  1723. Y2          Bottom Screen Region Coordinate
  1724. Count       Number of Lines to Scroll
  1725.  
  1726. [RETURNS]
  1727.  
  1728. (None)
  1729.  
  1730. [DESCRIPTION]
  1731.  
  1732. Scrolls the Designated Screen Region Down by a given number of Lines.
  1733.  
  1734. Scrolls the specified region down by "count" number of lines.
  1735.  
  1736. [SEE-ALSO]
  1737.  
  1738. [EXAMPLE]
  1739.  
  1740.  
  1741. ──────────────────────────────────────────────────────────────────────────────
  1742.  
  1743.  
  1744. [FUNCTION]
  1745.  
  1746. Procedure RegionRead(             X1             : BYTE;
  1747.                                   Y1             : BYTE;
  1748.                                   X2             : BYTE;
  1749.                                   Y2             : BYTE;
  1750.                                   Region         : Pointer   );
  1751.  
  1752. [PARAMETERS]
  1753.  
  1754. X1          Source Left Screen Region Coordinate
  1755. Y1          Source Top Screen Region Coordinate
  1756. X2          Source Right Region Screen Region Coordinate
  1757. Y2          Source Bottom Screen Region Coordinate
  1758. Region      Pointer to Region Data Storage Area
  1759.  
  1760. [RETURNS]
  1761.  
  1762. (None)
  1763.  
  1764. [DESCRIPTION]
  1765.  
  1766. [SEE-ALSO]
  1767.  
  1768. [EXAMPLE]
  1769.  
  1770.  
  1771. ──────────────────────────────────────────────────────────────────────────────
  1772.  
  1773.  
  1774. [FUNCTION]
  1775.  
  1776. Procedure RegionWrite(            X1             : BYTE;
  1777.                                   Y1             : BYTE;
  1778.                                   X2             : BYTE;
  1779.                                   Y2             : BYTE;
  1780.                                   Region         : Pointer   );
  1781.  
  1782. [PARAMETERS]
  1783.  
  1784. X1          Destination Left Screen Region Coordinate
  1785. Y1          Destination Top Screen Region Coordinate
  1786. X2          Destination Right Region Screen Region Coordinate
  1787. Y2          Destination Bottom Screen Region Coordinate
  1788. Region      Pointer to Region Data
  1789.  
  1790. [RETURNS]
  1791.  
  1792. (None)
  1793.  
  1794. [DESCRIPTION]
  1795.  
  1796. [SEE-ALSO]
  1797.  
  1798. [EXAMPLE]
  1799.  
  1800.  
  1801. ──────────────────────────────────────────────────────────────────────────────
  1802.  
  1803.  
  1804. [FUNCTION]
  1805.  
  1806. Procedure RegionCopy(             X1             : BYTE;
  1807.                                   Y1             : BYTE
  1808.                                   X2             : BYTE;
  1809.                                   Y2             : BYTE;
  1810.                                   ToX1           : BYTE;
  1811.                                   ToY1           : BYTE      );
  1812.  
  1813. [PARAMETERS]
  1814.  
  1815. X1          Source Left Screen Region Coordinate
  1816. Y1          Source Top Screen Region Coordinate
  1817. X2          Source Right Region Screen Region Coordinate
  1818. Y2          Source Bottom Screen Region Coordinate
  1819. ToX1        Destination Left Screen Region Coordinate
  1820. ToY1        Destination Top Screen Region Coordinate
  1821.  
  1822. [RETURNS]
  1823.  
  1824. [DESCRIPTION]
  1825.  
  1826. Writes a region store buffer to the specified screen locations.
  1827.  
  1828. [SEE-ALSO]
  1829.  
  1830. [EXAMPLE]
  1831.  
  1832.  
  1833. ──────────────────────────────────────────────────────────────────────────────
  1834.  
  1835.  
  1836. [FUNCTION]
  1837.  
  1838. Procedure RegionFill(             X1             : BYTE;
  1839.                                   Y1             : BYTE;
  1840.                                   X2             : BYTE;
  1841.                                   Y2             : BYTE;
  1842.                                   Ch             : CHAR;
  1843.                                   F              : BYTE;
  1844.                                   B              : BYTE      );
  1845.  
  1846. [PARAMETERS]
  1847.  
  1848. X1          Left Screen Region Coordinate
  1849. Y1          Top Screen Region Coordinate
  1850. X2          Right Region Screen Region Coordinate
  1851. Y2          Bottom Screen Region Coordinate
  1852. Ch          Character Pattern to Fill Region With
  1853. F           Foreground Color to Fill Region With
  1854. B           Background Color to Fill Region With
  1855.  
  1856. [RETURNS]
  1857.  
  1858. (None)
  1859.  
  1860. [DESCRIPTION]
  1861.  
  1862. Fills the specified region with the specified "Ch" aracter,
  1863. "F"oreground, and "B"ackground.
  1864.  
  1865. [SEE-ALSO]
  1866.  
  1867. [EXAMPLE]
  1868.  
  1869.  
  1870. ──────────────────────────────────────────────────────────────────────────────
  1871.  
  1872.  
  1873. [FUNCTION]
  1874.  
  1875. Procedure RegionFillAttr(         X1             : BYTE;
  1876.                                   Y1             : BYTE;
  1877.                                   X2             : BYTE;
  1878.                                   Y2             : BYTE;
  1879.                                   F              : BYTE;
  1880.                                   B              : BYTE      );
  1881.  
  1882. [PARAMETERS]
  1883.  
  1884. X1          Left Screen Region Coordinate
  1885. Y1          Top Screen Region Coordinate
  1886. X2          Right Region Screen Region Coordinate
  1887. Y2          Bottom Screen Region Coordinate
  1888. F           Foreground Color to Fill Region With
  1889. B           Background Color to Fill Region With
  1890.  
  1891. [RETURNS]
  1892.  
  1893. (None)
  1894.  
  1895. [DESCRIPTION]
  1896.  
  1897. Fills the specified region with the specified "F"oregound
  1898. and "B"ackground colors.
  1899.  
  1900. [SEE-ALSO]
  1901.  
  1902. [EXAMPLE]
  1903.  
  1904.  
  1905. ──────────────────────────────────────────────────────────────────────────────
  1906.  
  1907.  
  1908. [FUNCTION]
  1909.  
  1910. Procedure RegionFillChar(         X1             : BYTE;
  1911.                                   Y1             : BYTE;
  1912.                                   X2             : BYTE;
  1913.                                   Y2             : BYTE;
  1914.                                   Ch             : CHAR      );
  1915.  
  1916. [PARAMETERS]
  1917.  
  1918. X1          Left Screen Region Coordinate
  1919. Y1          Top Screen Region Coordinate
  1920. X2          Right Region Screen Region Coordinate
  1921. Y2          Bottom Screen Region Coordinate
  1922. Ch          Character Pattern to Fill Region with
  1923.  
  1924. [RETURNS]
  1925.  
  1926. (None)
  1927.  
  1928. [DESCRIPTION]
  1929.  
  1930. Fills the specified region with the specified character.
  1931.  
  1932. [SEE-ALSO]
  1933.  
  1934. [EXAMPLE]
  1935.  
  1936.  
  1937. ──────────────────────────────────────────────────────────────────────────────
  1938.  
  1939.  
  1940. [FUNCTION]
  1941.  
  1942. Procedure RepeatChar(             Ch             : CHAR;
  1943.                                   Num            : WORD      );
  1944.  
  1945. [PARAMETERS]
  1946.  
  1947. Ch          Character to Write
  1948. Num         Number of times to Write Character
  1949.  
  1950. [RETURNS]
  1951.  
  1952. (None)
  1953.  
  1954. [DESCRIPTION]
  1955.  
  1956. Writes a Character a repeated number of times starting at the current
  1957. cursor position using the current colors.
  1958.  
  1959. Repeats a "Ch"aracter a "Num"ber of times at the current Cursor
  1960. location in the current colors.
  1961.  
  1962. [SEE-ALSO]
  1963.  
  1964. [EXAMPLE]
  1965.  
  1966.  
  1967. ──────────────────────────────────────────────────────────────────────────────
  1968.  
  1969.  
  1970. [FUNCTION]
  1971.  
  1972. Procedure RepeatCharAt(           X1             : BYTE;
  1973.                                   Y1             : BYTE;
  1974.                                   F              : BYTE;
  1975.                                   B              : BYTE;
  1976.                                   Ch             : CHAR;
  1977.                                   Num            : WORD      );
  1978.  
  1979. [PARAMETERS]
  1980.  
  1981. X1          X Screen Coordinate
  1982. Y1          Y Screen Coordinate
  1983. F           Foreground Color
  1984. B           Background Color
  1985. Ch          Character to Write
  1986. Num         Number of Times to Write Character
  1987.  
  1988. [RETURNS]
  1989.  
  1990. (None)
  1991.  
  1992. [DESCRIPTION]
  1993.  
  1994. Writes a Character a repeated number of times starting at a given Coordinate
  1995. with the provided Colors.
  1996.  
  1997. Repeats a character the specified number of times at the specified
  1998. X/Y locations and with the specified colors.
  1999.  
  2000. [SEE-ALSO]
  2001.  
  2002. [EXAMPLE]
  2003.  
  2004.  
  2005. ──────────────────────────────────────────────────────────────────────────────
  2006.  
  2007.  
  2008. [FUNCTION]
  2009.  
  2010. Procedure WriteCharAt(            X1             : BYTE;
  2011.                                   Y1             : BYTE;
  2012.                                   F              : BYTE;
  2013.                                   B              : BYTE;
  2014.                                   Ch             : CHAR      );
  2015.  
  2016. [PARAMETERS]
  2017.  
  2018. X1          X Screen Coordinate
  2019. Y1          Y Screen Coordinate
  2020. F           Foreground Color
  2021. B           Background Color
  2022. Ch          Character to Write
  2023.  
  2024. [RETURNS]
  2025.  
  2026. (None)
  2027.  
  2028. [DESCRIPTION]
  2029.  
  2030. Writes a single Character at the given screen coordinates using a
  2031. provided colors.
  2032.  
  2033. Writes a specified "ch"aracter at a specified X/Y location in the
  2034. specified colors.
  2035.  
  2036. [SEE-ALSO]
  2037.  
  2038. [EXAMPLE]
  2039.  
  2040.  
  2041. ──────────────────────────────────────────────────────────────────────────────
  2042.  
  2043.  
  2044. [FUNCTION]
  2045.  
  2046. Procedure WriteStringAt(          X1             : BYTE;
  2047.                                   Y1             : BYTE;
  2048.                                   F              : BYTE;
  2049.                                   B              : BYTE;
  2050.                                   S              : STRING    );
  2051.  
  2052. [PARAMETERS]
  2053.  
  2054. X1          X Screen Coordinate
  2055. Y1          Y Screen Coordinate
  2056. F           Foreground Color
  2057. B           Background Color
  2058. S           String to Write
  2059.  
  2060. [RETURNS]
  2061.  
  2062. (None)
  2063.  
  2064. [DESCRIPTION]
  2065.  
  2066. Writes a String at the given coordinates using the provided colors.
  2067.  
  2068. Writes a specified "S"tring at a specified X/Y location in the
  2069. specified colors.  Same as a "FastWrite".
  2070.  
  2071. [SEE-ALSO]
  2072.  
  2073. [EXAMPLE]
  2074.  
  2075.  
  2076. ──────────────────────────────────────────────────────────────────────────────
  2077.  
  2078.  
  2079. [FUNCTION]
  2080.  
  2081. Procedure CRTLoadDefColorMap;
  2082.  
  2083. [PARAMETERS]
  2084.  
  2085. (None)
  2086.  
  2087. [RETURNS]
  2088.  
  2089. (None)
  2090.  
  2091. [DESCRIPTION]
  2092.  
  2093. [SEE-ALSO]
  2094.  
  2095. [EXAMPLE]
  2096.  
  2097.